package com.rookie.data.generate.model.project;

import com.rookie.data.generate.constant.annotation.CommonType;
import com.rookie.data.generate.constant.annotation.ConstCollection;
import com.rookie.data.generate.constant.annotation.StringTemplate;
import com.rookie.data.generate.constant.annotation.TimeRange;
import lombok.Data;
import lombok.experimental.Accessors;

import java.lang.annotation.Annotation;
import java.util.List;

/**
 * 字段属性
 * @author rookie
 */
@Data
@Accessors(chain = true)
public class FieldProperties {

    /**
     * 最大值 字符型时是字符长度最大值
     */
    private Integer maxValue;

    /**
     * 最小值
     */
    private Integer minValue;

    /**
     * 小数点位数
     */
    private Integer pointLength;

    /**
     * true 有符号
     *  FALSE 无符号
     */
    private Boolean signStatus;

    /**
     * 来源于其他表数据
     */
    private String extractVale;

    private StringTemplate stringTemplate;

    private TimeRange timeRange;

    private ConstCollection constCollection;

    private CommonType commonType;

    /**
     * 是否是null
     */
    private Boolean nullStatus;


    private List<Annotation> annotations;
}
